const {
	insertSqlPublic
} = require('./global')
const db = require('../db/index')

// 查询用户
exports.select = async (req, res) => {
	try {
		// 等待从连接池中获取一个连接
		const connection = await db.getConnection();
		try {
			const userId = req.query.userId; // 如果需要使用 userId，请添加 WHERE 子句
			const sql = `SELECT * FROM cc_goods ${userId ? `WHERE user_id = ${userId}` : ''}`;
			console.log(sql)
			// 假设 db.query 是一个返回 Promise 的函数
			const [rows] = await connection.query(sql);

			if (rows.length > 0) {
				res.json({
					status: 200,
					message: '成功',
					data: rows
				});
			} else {
				res.status(204).json({ // 使用 204 表示没有内容
					status: 204,
					message: '没有数据'
				});
			}
		} catch (e) {
			console.error('Query error:', e);
			res.status(500).json({
				status: 500,
				message: e.message
			});
		} finally {
			// 无论查询是否成功，都释放连接
			connection.release();
		}
	} catch (err) {
		console.error('Database connection error:', err);
		res.status(500).json({
			status: 500,
			message: '数据库连接错误'
		});
	}
}


//新增
exports.insertTest = async (req, res) => {
	try {
		// 等待从连接池中获取一个连接
		const connection = await db.getConnection();
		try {
			const params = req.query;
			const sql = await insertSqlPublic('cc_goods', 'crab_card', params, null);

			// 执行 SQL 语句
			const [rows] = await connection.query(sql);
			if (rows.affectedRows === 1) {
				res.status(201).json({ // 使用 201 表示 Created
					status: 201,
					message: '成功',
					data: rows
				});
			} else {
				res.status(400).json({ // 使用 400 表示 Bad Request
					status: 400,
					message: '插入失败'
				});
			}
		} catch (e) {
			console.error('Query error:', e);
			res.status(500).json({
				status: 500,
				message: e.message
			});
		} finally {
			// 无论查询是否成功，都释放连接
			connection.release();
		}
	} catch (err) {
		console.error('Database connection error:', err);
		res.status(500).json({
			status: 500,
			message: '数据库连接错误'
		});
	}
};